Peer of a peer-to-peer network and such network

ABSTRACT

The invention relates to a peer-to-peer network where said peer-to-peer network comprises a plurality of peers (P), wherein said peer (RP) comprises and maintains a communication record (CR) defining a plurality of candidate peers (CP) from which information representative data (S) may be downloaded, wherein said plurality of candidate peers (CP) comprises a subset of said plurality of peers (P), and wherein said peer (RP) comprises means for downloading said information representative data (S) from at least one of said candidate peers (CP) according to an individual routine of said peer (RP). The invention furthermore relates to a peer-to-peer network comprising a plurality of peers (P) according to the above.

FIELD OF THE INVENTION

The present invention relates to means facilitating autonomy anddecentralisation within peer-to-peer networks.

BACKGROUND OF THE INVENTION

Several peer-to-peer network technologies exist mainly in order toprovide networks where the sharing of files or distribution of largefiles or live information is sought improved. The main part of thesetechnologies comprises a central server that keeps track of theconnected peers as well as the structure by which they are connected.Many of these systems comprise relatively fixed structures and heavilycentralised control in order to enable the server to manage it tasks. Inthese systems the individual peers have to obtain permission orinstructions from the server if they want to relocate themselves in thestructure, or otherwise want changes. A few systems occasionally leavecertain simple decisions within very restricted scopes to the peers, butif the decisions affect the structure or status of the peers they willstill have to inform the server of any changes.

Thus, traditional peer-to-peer systems are typically restricted byinflexibility, centralisation and thereby, at least for the server, hugecommunication and processing overhead regarding control information.

SUMMARY OF THE INVENTION

The present invention relates to a peer of a peer-to-peer network wheresaid peer-to-peer network comprises a plurality of peers P,

wherein said peer RP comprises and maintains a communication record CRdefining a plurality of candidate peers CP from which informationrepresentative data S may be downloaded,

wherein said plurality of candidate peers CP comprises a subset of saidplurality of peers P,

and wherein said peer RP comprises means for downloading saidinformation representative data S from at least one of said candidatepeers CP according to an individual routine of said peer RP.

According to the invention, the information representative data S ispreferably a representation of a live video or audio stream or a partthereof, but may be any kind of information available for encoding intoa network transmittable format, e.g. media files, document files,computer programs, databases, etc. The information representative data Smay represent such information by available encoding, and furtherencoding or decoding may be applied during the distribution process. Theinformation representative data S may during distribution be containedby a single self-contained data packet or stream of packets, or it maybe subject to an encoding that establishes a plurality of data packets,whereof a certain amount represents the information representative dataS, e.g. a loss resiliency enabling encoding. When the last-mentionedapplies, networks based on a grid structure are facilitated as thedifferent packets may be distributed along different paths.

According to the invention a candidate peer from which informationrepresentative data may be downloaded represents a peer that may becontacted with download requests, but the status of candidate peer doesnot necessarily imply that download from the candidate peer will bepossible. A candidate peer may e.g. momentarily or permanently on it'sown discretion due to internal or external circumstances choose not toserve a download request. Such circumstances may e.g. comprise thenumber of other peers requesting downloads from the same candidate peer,the amount of bandwidth a candidate peer prefer to preserve for otheruses such as e-mail and internet browsing, the identity or thegeographical or network topological location of the requesting peer,etc. The communication record thus comprises a number of peers thatpotentially may be used for downloading and among which a peer may makeits own experiences in order to determine which peers to download fromrather than being told from a central root peer or server where todownload from. Thereby an autonomous flexible adaptive self-organizingnetwork is facilitated.

Elsewhere in the description, the abovementioned peer is also referredto as a recipient peer due to the fact that the general purpose of thepeer is to receive information representative data and optionally uploadinformation representative data or variants thereof to other peer(s).

According to the present invention, downloading may comprise an activeor a reactive transmission of data. In other words the peer may activelyinitiate and be in charge of the download, or it may more passivelyreceive a download initiated by a sender.

A peer-to-peer network for distributing information among a plurality ofpeers, wherein control data enabling or facilitating a peer to receivesaid information is at least partially distributed in association withor comprised by said information, is provided.

When said peer RP acts substantially autonomously within saidpeer-to-peer network, an advantageous embodiment of the presentinvention is obtained.

By means of the present invention, in particular the distributedcommunication record, each peer comprises information on which it maybase decision. Thus, the peer needs neither obtain permission orinstructions from a server before taking a decision nor inform theserver of the outcome after taking a decision.

When said peer RP performs said maintaining said communication record CRat least partly on the basis of communication record updates CRU, anadvantageous embodiment of the present invention is obtained.

According to the present invention, the peer may maintain thecommunication record by processing communication record updates. Suchupdates preferably comprise merely changes, i.e. additions, deletionsand updates, to the communication record, but may comprise any kind ofinformation, e.g. a full copy of the communication record, which mayfacilitate the maintaining task.

When said peer RP further comprises means for downloading saidcommunication record updates CRU on a runtime basis, an advantageousembodiment of the present invention is obtained.

The peer may maintain the communication record on a runtime basis byfrequently, whether regularly or irregularly, directly or indirectly,receiving updates.

According to the present invention, downloading may comprise an activeor a reactive transmission of data. In other words the peer may activelyinitiate and be in charge of the download, or it may more passivelyreceive a download initiated by a sender.

When said downloading said communication record updates CRU on a runtimebasis is performed according to said individual routine of said peer, anadvantageous embodiment of the present invention is obtained.

When said peer RP substantially autonomously may decide to download orrequest download from candidate peers CP currently defined by saidcommunication record CR, an advantageous embodiment of the presentinvention is obtained.

According to the present invention, the term autonomously may refer tothe peer being able to take decisions on any or all of several differentoptions, e.g. when to do something, e.g. request a download, who tocontact about something, e.g. which candidate peers to request downloadfrom, what services to provide to other peers, etc.

When said individual routine comprises guidelines for deciding, on aruntime basis, which at least one of said candidate peers CP to downloadsaid information representative data S from, an advantageous embodimentof the present invention is obtained.

According to an embodiment of the invention autonomy is facilitated inthat the peers may each decide which of the candidate peers defined inthe communication record to download from, and they may reconsider theirdecision freely whenever necessary or convenient.

When said individual routine comprises guidelines for deciding, on aruntime basis, a number of said candidate peers CP to download saidinformation representative data S from, an advantageous embodiment ofthe present invention is obtained.

According to an embodiment of the invention autonomy is facilitated inthat the peers may each decide how many of the candidate peers definedin the communication record to download from, and they may reconsidertheir decision freely whenever necessary or convenient.

According to an embodiment of the invention grid based networking isfurthermore enabled by the choice each peer has of downloading from morethan one candidate peer.

When said peer RP downloads said information representative data S froma plurality of said candidate peers CP substantially simultaneously, anadvantageous embodiment of the present invention is obtained.

According to an embodiment of the invention, the peer-to-peer network isa grid-based network as each peer downloads from a plurality ofcandidate peers substantially simultaneously in order to gather theinformation representative data, e.g. live video or audio stream. Whenthe information representative data S is encoding in a way establishinga plurality of data packets whereof a certain amount represents theinformation representative data S, e.g. for loss resilient distribution,the different packets may be downloaded from different candidate peers,and without the need of keeping track of order.

According to the present invention, the term substantiallysimultaneously may refer to the impression received at any of theimplemented communication layers, e.g. the physical layer, the transportlayer, the application layer, etc. While it is typically impossible toactually receive, at the lowest level, data from different packetssimultaneously, it may however seem like a simultaneous reception fromthe transport layer, the application layer, etc., and suchpseudo-simultaneity is within the scope of the present invention as wellas true simultaneity.

When at least one peer P of said plurality of peers P comprises apeer-to-peer network server PPS, an advantageous embodiment of thepresent invention is obtained.

It is emphasized that in principle any of the peers may act as a serverin a certain embodiment of the invention, whereas it however typicallymay comprise an over-average hardware implementation regarding, e.g.,network bandwidth, processor power, storage space, etc.

When said peer-to-peer network server PPS transmits said informationrepresentative data S to at least one of said plurality of peers P ofsaid peer-to-peer network, an advantageous embodiment of the presentinvention is obtained.

According to the present invention, a server is provided for acting asan information broadcaster, e.g. for hosting a live streaming session,etc.

When a plurality of said peers P are associated with a unique identityrepresentation ID, an advantageous embodiment of the present inventionis obtained.

According to an embodiment of the invention an identity representationID should enable direct or indirect addressing of the associated peer.An ID may e.g. comprise or define an IP address or a MAC address of thepeer associated with the unique identity representation.

When said communication record CR defines said candidate peers CP bysaid associated identity representation ID, an advantageous embodimentof the present invention is obtained.

When said communication record CR is initialized and updated on aruntime basis by at least one of said candidate peers CP, anadvantageous embodiment of the present invention is obtained.

The candidate peer may maintain the communication records on a runtimebasis by frequently, whether regularly or irregularly, directly orindirectly, transmitting update information to the peer or the peers ofwhich the candidate peer is kept as such in the communication record.When applying an indirect addressing, initializing and/or maintaining ofthe communication records of a recipient peer is performed by at leastone or some of the candidate peers. Evidently, this candidate peer,unless the candidate peer is the server, will have to receive updateinformation from other upstream peers. Still, upstream, the server willserve as the origin of information data and updating informationstreaming through the peer-to-peer network although the directcommunication to a recipient peer is actually performed by one or somecandidate peers.

When maintaining such communication record at the individual peer, anadvantageous establishment of download from candidate peers may beobtained as the individual peer, instantly and without time consumingcommunication and authorization from a server, may decide and try toreconfigure the downloading solely on the basis of information kept inthe communication record of the peer.

When said communication record CR is initialized and updated on aruntime basis by said server PPS, an advantageous embodiment of thepresent invention is obtained.

The direct updating and/or initialization of the peer involve a moredirect updating and maintenance of the communication records of theindividual peers. However, it should be noted that the informationrepresentative data are still received from the candidate peers definedin the maintained communication record of each peer. When maintainingsuch communication record at the individual peer, an advantageousestablishment of download from candidate peers may be obtained as theindividual peer, instantly and without time consuming communication andauthorization from a server, may decide and try to reconfigure thedownloading solely on the basis of information kept in the communicationrecord of the peer.

When said information representative data S comprises a video or audiostream, an advantageous embodiment of the present invention is obtained.

The present invention may be particularly advantageous when applied to adistribution system for preferably live video or audio streams. Anyinformation type of the information representative data is howeverwithin the scope of the present invention.

When said peer-to-peer network comprises a streaming network, anadvantageous embodiment of the present invention is obtained.

When said peer-to-peer network comprises a grid-based peer-to-peernetwork, an advantageous embodiment of the present invention isobtained.

When said communication records CR of a plurality of peers P of saidpeer-to-peer network are substantially identical, an advantageousembodiment of the present invention is obtained.

According to an embodiment of the invention the communication recordsare substantially identical, which means that the peers recognize thesame set of candidate peers. A peer may however at certain timescomprise a slightly different knowledge than the other peers. This mayhappen if the peer for some reason has not received maintenance updatesfor its communication record, or if it has been into contact with a peernot identified by the communication record. The last situation may incertain embodiments occur when new peers join the network and thecorresponding communication record update has not propagated through thenetwork before the new peers begin to communicate within the network.Any differences are however preferably corrected before long, i.e.within the order of the time for a few consecutive communication recordupdates to propagate through the network.

When said communication record CR defines a subset of said plurality ofpeers P of said peer-to-peer network to which information representativedata S may be uploaded, an advantageous embodiment of the presentinvention is obtained.

By also using the communication record to identify peers that mayrequest downloads, i.e. that the peer comprising the communicationrecord may upload to, it is possible to exercise an authenticationpolicy. This may, e.g., be necessary in systems utilizing the publicInternet, in order to avoid that unauthorized peers that somehow hasobtained knowledge about a candidate peer, may start downloading thedata, and thereby also in certain embodiments the communication recordupdates. Moreover this may be utilized in a system where the informationrepresentative data comprises several information channels, e.g. severalvideo or audio streams, media files, etc., as the peers may then be ableto lookup which peers are allowed to request download of a specificcontent.

When at least two of said plurality of peers P of said peer-to-peernetwork downloads said information representative data S substantiallysimultaneously, an advantageous embodiment of the present invention isobtained.

According to an embodiment of the invention several peers may bereceiving the information representative data, preferably a live videoor audio stream, substantially simultaneously. A live streaming systemwith the potential of serving numerous recipients simultaneously is thusfacilitated. The peers may download the information from the same peeror from several different peers, or any combination thereof.

The term substantially simultaneously may comprise the peers requestingdownloads substantially simultaneously as the duration of a download maydiffer widely over the network according to several parameters. It mayfurthermore comprise the peers requesting downloads within the same timewindow of the information broadcast.

When said peer-to-peer network server PPS furthermore transmits saidcommunication record update CRU to at least one of said plurality ofpeers P of said peer-to-peer network, an advantageous embodiment of thepresent invention is obtained.

By having the server controlling the communication record updates, asubstantial synchronization through the network is ensured. Moreover theserver already comprises the framework for maintaining the broadcast ofthe information representative data.

When said information representative data S is arranged to comprise saidcommunication record update CRU, an advantageous embodiment of thepresent invention is obtained.

By combining the information representative data and the communicationrecord update into a single broadcast unit it is ensured that all peersreceiving the information will also receive the updates, and thus it isbe ensured that peers at least have the possibility of staying current.Moreover it simplifies the distribution and the tasks performed by thepeers when all necessary information is transmitted in a bundle.

When said communication record update CRU is associated and transmittedwith said information representative data S, an advantageous embodimentof the present invention is obtained.

When accumulated said communication record updates CRU on the averageaccounts for less than 20%, preferably less than 10% and even morepreferably less than 2% of the size of accumulated said informationrepresentative data S, an advantageous embodiment of the presentinvention is obtained.

Of the accumulated data downloaded by a recipient peer preferably only arelatively small part should be accounted for by the communicationrecord updates. Hence, the main part of the available resources, inparticular network bandwidth, should be used for distribution of theinformation, e.g. streaming video.

However, certain applications of the present invention may on thecontrary be most efficient when allocating the resources differently orthe kind of the communication record data and/or the informationrepresentative data may be of such composition that the above-mentionedpreferred allocation is impossible or less efficient. Embodiments of thepresent invention may therefore within the scope of the invention causeany distribution of the resources between the communication recordrelated communication and the information related communication.

When said communication record update CRU comprises changes of saidcommunication record CR, an advantageous embodiment of the presentinvention is obtained.

In order to avoid unnecessary overhead and redundant information, thecommunication record updates comprises only the changes of thecommunication record since last update. This requires all peers tocarefully maintain the communication records in order to not introduceerrors.

When said communication record update CRU comprises a completecommunication record CR, an advantageous embodiment of the presentinvention is obtained.

In an alternative embodiment of the invention a complete copy of thecommunication record is transmitted with every update, or occasionallyfor each some number of regular updates. In a further alternativeembodiment a method for occasionally comparing a communication recordwith the record of other peers or the server may be implemented.

When said communication record CR defines further properties or featuresof the peers it defines, an advantageous embodiment of the presentinvention is obtained.

The communication may, e.g., comprise any set of information that mayserve to support the peer in its tasks within the network. Suchinformation may thus comprise, e.g., categorization information aboutthe individual peers or groups of peers, performance information aboutthe individual peers, groups of peers or different network parts,information about network topology or other structural information,routing information, information about the computer configurationindividual peers or groups of peers, e.g. NAT configuration,compatibility information, authorization and/or cryptographyinformation, etc.

When said communication record CR defines properties or features of saidinformation representative data S, an advantageous embodiment of thepresent invention is obtained.

In certain embodiments of the invention the information representativedata may represent several different information channels, e.g. severalvideo or audio streams, different media files, etc. By includinginformation about the data within the communication record the peersobtain a basis for deciding which data they want to request, and it isensured that this information is always current.

When said information representative data S is encoded and distributedaccording to a loss resiliency method, an advantageous embodiment of thepresent invention is obtained.

When said information representative data S is distributed according toa pull-strategy, an advantageous embodiment of the present invention isobtained.

This preferred embodiment comprises the recipient peers requestingdownloads when they want, of what they want and/or from whom they want,i.e. pulling data through the network.

When said information representative data S is distributed according toa push-strategy, an advantageous embodiment of the present invention isobtained.

This embodiment comprises the candidate peers requesting uploads whenthey want, of what they want and/or to whom they want, i.e. pushing datathrough the network.

When said communication record update CRU is distributed by a methodcorresponding to the method applied for distributing informationrepresentative data S, an advantageous embodiment of the presentinvention is obtained.

Regarding distribution of the communication record updates to several orall peers, the same distribution method as used for distribution of theinformation representative data may advantageously be used. Thereby itmay in preferred embodiments be possible to use the same framework ofstructures, configurations, software and hardware for both distributiontasks.

When said information representative data S may comprise multipleinformation instances, an advantageous embodiment of the presentinvention is obtained.

The system may be used for distributing several different informationinstances by the same distribution framework. Such instances may, e.g.,comprise live video and/or audio streams, on demand video and/or audiostreams, computer programs, media files, documents, databases, etc.

When said communication record CR defines said information instances ofsaid information representative data S, an advantageous embodiment ofthe present invention is obtained.

If the information representative data comprises several differentinformation instances, e.g. several video streams, these mayadvantageously be defined by the communication record, thus facilitatingthe peers to choose among the information contents.

When said candidate peers CP are not equally performing, an advantageousembodiment of the present invention is obtained.

According to the present invention, the communication record shoulddefine candidate peers in order to facilitate autonomous decision-makingat the recipient peers. Hence, the communication record shouldpreferably define substantially all possible or relevant peers ascandidate peers. Naturally some of the candidate peers may then be lesssuccessful choices of a certain recipient peer due to, e.g., networkproperties or properties of the candidate peers.

When said individual routine comprises trial and error algorithms, anadvantageous embodiment of the present invention is obtained.

By using trial and error for, e.g., deciding which candidate peers tomake use of, a simple, yet rather effective, decision method is applied.Whereas such a method from a beginning performs as ineffective as purerandom selection, it may during use become more and more effective,depending on the degree of memorization of previous tries.

The present invention further relates to a peer-to-peer networkcomprising a plurality of peers P according to any of the claimsmentioned with regard to said peer of a peer-to-peer network

THE DRAWINGS

The invention will in the following be described with reference to thedrawings where

FIG. 1 illustrates an embodiment of a peer-to-peer network according tothe present invention,

FIG. 2 illustrates an embodiment of a peer-to-peer network comprisingrecipient peers, candidate peers and communication records,

FIG. 3 illustrates an embodiment of a peer-to-peer network comprising apeer-to-peer network server,

FIG. 4 illustrates an embodiment of a method for information and updatedistribution,

FIG. 5 illustrates a further embodiment of a method for information andupdate distribution,

FIG. 6 illustrates a further embodiment of a method for information andupdate distribution,

FIG. 7 illustrates a preferred embodiment of a method for informationand update distribution,

FIGS. 8A and 8B illustrates simple autonomy of a peer facilitated by thepresent invention,

FIG. 9 illustrates more advanced autonomy of a peer facilitated by thepresent invention, and

FIG. 10 illustrates an embodiment of a peer initialisation process.

DETAILED DESCRIPTION

FIG. 1 illustrates an embodiment of a peer-to-peer network NW accordingto the present invention. It comprises a plurality of peers P connectedthrough the network NW. The network is preferably a TCP/IP-based networksuch as e.g. the internet, but may be any kind of network. The peers arepreferably computers of any kind, but may be any kind of apparatusescomprising means for communicating with other peers through the network.The peers may e.g. comprise personal computers, servers, PDA's, mobilephones, laptops, set-top boxes, public info-stands, etc. The networkconnections may comprise any kind of wired or wireless connections andany means necessary for establishing such connections, e.g. UTP cablesof any category, coaxial cables, network interface cards, routers,firewalls, switches, hubs, wireless network interface cards, wirelessrouters, infrared, radio-frequency or Bluetooth connections, modems,cable modems, ADSL routers, ISDN modems, telephone cables, mobile phoneconnections, etc., and any possible network protocol or combination ofprotocols, e.g. Ethernet, token ring, wireless Ethernet, TCP/IP,IPX/SPX, GPRS, ADSL, ISDN, etc.

FIG. 2 illustrates an embodiment of a peer-to-peer network NW asdescribed above, but seen from a certain recipient peer's point of view.It comprises a plurality of peers P whereof a certain one is referred toas recipient peer RP. A certain number of peers P are also referred toas candidate peers CP, as they from the point of view of the recipientpeer RP may be candidates to peers from where the recipient peer RP maydownload information. The peers are associated with identityrepresentations ID, e.g. ID1, ID2, etc. The recipient peer RP comprisesa communication record CR, which preferably comprises a list of thepeers that serve as candidate peers CP, which in the example of FIG. 2comprises the peers associated with identity representations ID1, ID2and ID4.

The content of the communication record CR may however be any set ofinformation that may serve to support the peer in its tasks within thenetwork. Such information may thus comprise, e.g., identityrepresentations of other peers, categorization information about otherpeers, performance information about other peers or different networkparts, information about network topology or other structuralinformation, routing information, information about the computerconfiguration of other peers, e.g. NAT configuration, compatibilityinformation, authorization and/or cryptography information, etc.

The peers P may furthermore in an embodiment of the invention comprisemeans for retaining information about their individual or commonexperiences, measurements, decisions, etc., in order to facilitateadaptive individual or common routines or artificial intelligence withinthe peers. Such information may in certain embodiments be stored withinthe communication record CR.

The communication record CR is preferably frequently updated to reflectchanges in the information it stores, and the necessary updates arepreferably received from other peers or a server, and preferably as anintegrated part of information otherwise received, e.g. an audio orvideo live stream.

It is emphasized that the recipient peer RP as well as the candidatepeers CP are instances of peers P, and that it is perfectly possible andeven preferred that a peer act as several kinds of peers simultaneously.Hence the peer that is shown as recipient peer RP in FIG. 2 may be acandidate peer to one or more of the other peers. In a simple embodimentall peers are candidate peers and recipient peers, and the communicationrecords hence comprises all peers, and any peer may download informationfrom any one or more of the other peers.

A more advanced, preferred embodiment of the present invention comprisesthe candidate peers to not allow download by any recipient peer notmentioned in the communication record, or mentioned as a somehowdisallowed peer. As this may cause problems for new peers starting torequest downloads before the communication record update comprisingtheir identity representation has propagated through the network to thecandidate peers, an even more preferred embodiment may allow candidatepeers to communicate with the unmentioned peer for a reasonable timeallowing any updates to propagate, after which the final decision istaken on the basis of any new information.

FIG. 3 illustrates an embodiment of a peer-to-peer network according tothe present invention. It is equal to FIG. 2, except for a peer-to-peernetwork server PPS that is also connected to the network in theembodiment of FIG. 3. The server PPS is in principle just anotherinstance of a peer P, which may be constituted by any of the peers. Inmany real systems the server PPS is however due to other circumstancesembodied by special equipment, and may not necessarily be exchangeablewith the other peers. It is however noted that in certain embodimentsany one or a number of the peers P may act as server PPS, therebyfacilitating the ordinary user to, e.g., broadcast live video or audiostreaming. It is furthermore noted that the scope of the presentinvention does not restrict the network to comprise only one server PPS.

The server PPS preferably maintains an up-to-date communication recordand maintains the communication record of the peers accordingly bytransmitting updates to the peers in one of several possible ways. Theupdates should be frequent, however not necessarily regular.

The server PPS further preferably comprises information to bebroadcasted, e.g. live video or audio streams, or any other kind ofinformation available for encoding into a network transmittable format,e.g. media files, document files, computer programs, databases, etc. Theserver PPS thus initiates and possibly maintains the establishment ofdownloadable information representations data S in at least some of thepeers of the network.

FIG. 4 illustrates how a recipient peer RP may download information andcommunication record updates, preferably established by the server. Theembodiment of FIG. 4 equals the embodiment of FIG. 3 except for therepresentations of information. The figure illustrates how the serverprovides an information representative data S and a communication recordupdate CRU to the network. In the embodiment of FIG. 4, the informationrepresentative data S and the communication record update CRU arebundled in a single unit. The recipient peer RP, which comprises meansfor downloading information representative data S from a candidate peerCP receives a bundle comprising an information representative data S anda communication record update CRU from the candidate peer identified byidentity representation ID2 in the embodiment of FIG. 4. The bundlereceived from the candidate peer is preferably a copy of the bundleprovided by the server, or it is established on the basis of data fromthe server. The candidate peer may have received the bundled directlyfrom the server or from a peer that serves as candidate peer to it whenit is acting as recipient peer RP.

It is noted that FIG. 4 and the other drawings illustrate specificinstances at specific times, and hence developments over time are notshown. Thus, e.g., the next information representative data S andcommunication record update CRU that the recipient peer receives may bedownloaded from the same, i.e. ID2, or a different candidate peer.

The information representative data S may represent the information tobe broadcasted by any available encoding, and further encoding ordecoding may be applied during the distribution process. The informationrepresentative data S may during distribution be contained by a singleself-contained data packet or stream of packets, or it may be subject toan encoding that establishes a plurality of data packets, whereof acertain amount represents the information representative data S, e.g. aloss resiliency enabling encoding. When the last applies networks basedon a grid structure are facilitated as the different packets may bedistributed along different paths.

The communication record update CRU may be bundled with the informationto be broadcasted before that is arranged into an informationrepresentative data S and thus undergo the same encoding routine as thebroadcast information, or the broadcast information undergo a full orpartially encoding routine before the bundling. Moreover, also thecommunication record update CRU may be encoded in any possible way, e.g.by using compression techniques, before, under or after the encoding ofthe broadcast information.

The communication record update CRU preferably comprises onlyinformation about changes in the communication record CR, rather thanthe full communication record itself. The last option or any combinationis however within the scope of the present invention, and may beadvantageous in certain embodiments, e.g. in order to, by certainintervals, ensure that all peers comprise a true up-to-date copy of thecommunication record.

The establishment, encoding and distribution of informationrepresentation data S may conform to any network distribution method,e.g. live streaming methods, on demand methods streaming methods, filesharing methods, etc., whether or not comprising cryptography,authorization, loss resiliency, packet splitting, compression, etc., andwhether or not transmitted by reliable, secure, connection-orientedprotocols, or any combinations thereof. The method is in a preferredembodiment a loss resilient streaming distribution method, as, e.g., themethod disclosed by international patent application no.PCT/DK2004/000197 hereby incorporated by reference, but any othersuitable method is within the scope of the present invention.

The above-mentioned international patent application discloses a methodfor distributing an information, e.g. a live video stream, from a serverto several peers wherein some or all of the peers establishes lossresilient code representations of the information on the basis ofintermediate representations established by the server. By downloading acertain amount of the loss resilient code representations from the otherpeers, the original information may be established at the peers.

FIG. 5 comprises the same overall network structure as the previousdrawings, but illustrates a different distribution method. In theembodiment of FIG. 5 the server PPS provides an informationrepresentative data S and a communication record update CRU as twodifferent distribution units. The recipient peer RP thus has the optionof downloading the two units from different candidate peers CP. In theexample of FIG. 5 the recipient peer thus receives the informationrepresentative data S from the candidate peer identified by ID2 while itreceives the communication record update CRU from the candidate peeridentified by ID4. As mentioned above the illustration is merely of aninstance at a specific time, and the recipient peer may at other timesreceive the units from different candidate peers or from one and thesame peer.

As with the embodiments described above, both the information S and theupdate CRU may be distributed by any method and be encoded by anyencoding scheme.

FIG. 6 again comprises the same network as described above, and theinformation representative data S is distributed as described above. Thecommunication record update CRU is however provided in a more directfashion to the recipient peer RP by the server PPS via an additionalnetwork connection NC. The additional network connection may be anyconnection whether comprising parts of the network used for distributingthe information representative data S or not. The example of FIG. 6 thusrepresents embodiments where the server is transmitting updates moredirectly to the peers either by a simple direct dedicated line or by along winding Internet path, etc.

FIG. 7 illustrates a preferred embodiment of the present invention. Itcomprises again the network described above. A server PPS provides forthe network an information representative data S and a communicationrecord update CRU, preferably bundled into one unit but mayalternatively be separate units as described above. A recipient peer RPmay download the information representative data S and the communicationrecord update CRU in the form of several smaller data fractions S1 andCRU1, S2 and CRU2 and S4 and CRU4. These smaller data fractions maypreferably be downloaded from different candidate peers CP in order tooptimize network usage. In the example of FIG. 7 the data fractions aredownloaded from the peers identified by ID1, ID2 and ID4. The recipientpeer RP may establish an information corresponding to the informationprovided by the server PPS from a certain number of smaller datafractions.

The establishment of smaller data fractions S1, S2, S4, from the unit Sprovided by the server PPS may be performed in several ways. Somepossible methods comprises the server splitting the information S intosmaller data fractions which are distributed to certain peers, or theserver providing the information S to a few peers which establishes thesmaller data fractions for easier distribution.

According to the present invention a preferred method of establishingthe smaller data fractions S1, S2, S4, from the informationrepresentative data S is disclosed in the above-mentioned internationalpatent application no. PCT/DK2004/000197 hereby incorporated byreference. This method comprises having a server PPS establishing fromthe information representative data S relatively few, e.g. 4 or 8, codesegments whereof a certain number is required for re-establishing theinformation. These code segments are preferably distributed to differentpeers, which on request from other peers, e.g. candidate peers,establish preferably even smaller intermediate packets on the basis ofthe code segments. A peer, e.g. a candidate peer, may transform acertain number of these smaller intermediate packets into a number ofdata fractions S1, S2, S4, of which a certain number must be collectedin order to re-establish the original information. The data fractionspreferably represent the information in a loss resilient way, i.e. insuch a way that the recipient peer is able to decode the information assoon at it has downloaded a predetermined number of arbitrary uniqueunordered data fractions S1, S2, S4.

It is again emphasized that in a preferred embodiment any of the peersmay comprise several peer roles in order to improve the networkperformance and time and bandwidth used for distribution. Hence a singlepeer, e.g. implemented as a personal computer with an ADSL connection tothe Internet, may act as recipient peer if the user wants to, e.g., seelive video, but at the same time it may act as a candidate peer to otherpeers, thus participating in the distribution of the information.

In order to illustrate the autonomy facilitated by the present inventionFIGS. 8A, 8B and 9 are provided. A basis for autonomous peers in thepresent invention is the maintained communication record CR comprisingsubstantially current information on the other peers, the network and/orboth.

FIG. 8A comprises a flow chart showing the steps performed by arecipient peer RP according to an embodiment of the present invention inorder to download information from one candidate peer CP. First step 810comprises the recipient peer using the information in the communicationrecord to choose a candidate peer. The decision may be based onalgorithms of any level of complexity, i.e. from merely choosing fromthe end of the list or randomly or pseudo randomly, to advancedprediction algorithms or other advanced algorithms. The second step 811comprises requesting the chosen candidate peer to transmit data.According to the type of distribution method and the topology of thenetwork, this step may comprise different acts.

Decision box 812 controls the next step on the basis of the outcome ofthe request made in step 811. If the candidate peer agrees to transmitdata, step 813 is performed and available data downloaded to therecipient peer. The candidate peer, the recipient peer or othercircumstances may in various embodiments determine the extent ofavailable data, i.e. if the recipient peer should download all relevantdata from the candidate peer, or only a part of it. Either the candidatepeer or the recipient peer may, e.g., choose to abort the transmissionif the network connection between the two peers is two slow orunreliable.

When the available data has been downloaded, decision box 814 controlsthe action. If no more data is needed the download is consideredfinished. If however the amount of data received is not sufficient therecipient peer may start over by choosing a candidate peer. Thesituation where not enough data is downloaded may, e.g., arise due tounforeseen circumstances such as the candidate peer abortingtransmission, or the candidate peer not possessing more data or is forsome reason not allowed to transmit it. It may also arise when the datacomprises a live audio or video streaming, which involves continuouslydownloading of data, and the candidate peer itself becomes unavailableor stops downloading the data itself.

Also when the recipient peer does not get approval from the chosencandidate peer in connection with decision box 812 the recipient peerhas to start over by choosing another candidate peer. Reasons for notgetting approval may comprise, in addition to a simple refusal, notbeing able to contact the candidate peer, the candidate peer notpossessing the necessary data, the interfaces being incompatible witheach other, or any other reason which may lead to the decision of tryingwith another candidate peer.

FIG. 8B illustrates the steps for a slightly different embodiment of thepresent invention where the recipient peer may download from severalcandidate peers simultaneously or alternately. In this embodiment therecipient peer starts by choosing one or more candidate peers from thecommunication record, step 820, and requests download from all or atleast a plurality of them. If the candidate peers approve the request,decision box 822, the recipient peer start downloading data. When allavailable data has been downloaded from the chosen peers and that is notenough, the recipient peer may start over by choosing other candidatepeers.

The difference from the flow chart of FIG. 8A is the step 823 comprisingthe action to take if some or all of the first chosen candidate peersrefuses the download. In the present embodiment the recipient peershould then choose other candidate peers substituting the ones that areunavailable. During this loop of substituting and requesting, therecipient peer may perfectly proceed to the step 824 of downloading fromcandidate peers that are found ready and relevant.

It is noted that all observations relating to alternatives according tothe embodiment of FIG. 8A also apply to the present embodiment of FIG.8B.

The embodiments of FIGS. 8A and 8B are relatively simple algorithms butdo however facilitate autonomous peers, e.g. due to the free choice ofwhich candidate peers to utilize, and the possibility for negotiatingcustom conditions with the available chosen candidate peers, of coursewithin the limitations defined by the actual hardware and/or softwareframework.

FIG. 9 comprises an example of a download algorithm a little moreadvanced, which facilitates artificial intelligence and adaptability,thereby improving the performance increase produced by the addedautonomy. The flow of the embodiment of FIG. 9 is in principle the sameas that of FIG. 8B, but an additional factor has been added. In thepresent embodiment the recipient peer bases its choice of candidatepeers not only on the data in the communication record maintained fromoutside itself, but also on stored knowledge, i.e. calculations,observations, experiences, etc., that the recipient peer has obtaineditself. The embodiment of FIG. 9 comprises a further addition comparedto the embodiment of FIG. 8B as it also stores newly obtained knowledgeat some point within the algorithm, for example after each downloadcompletes, step 916.

It is noted that all observations relating to alternatives according tothe embodiment of FIGS. 8A and 8B also apply to the present embodimentof FIG. 9. It is furthermore noted that any algorithm suitable forchoosing one or more peers and downloading from them according to thepresent invention is within the scope of the present invention.

As described above the communication record is a major part of enablingthe peers to act autonomously. As also described above it mayadvantageously be maintained by updates comprised by the data otherwisedownloaded by the peers, e.g. a live audio or video stream. When a peernot already receiving the stream and thereby the updates wants toparticipate it has to somehow establish the current communicationrecord.

FIG. 10 comprises an example of how a peer may join the distributionnetwork according to the preset invention. A first step 1030 comprisesthe peer connecting to the network, preferably by establishing acommunication with the server PPS. A next step 1031 comprises the peerauthorizing itself, preferably against the server. This step may beoptional if the distribution network is a private network or everyone isallowed to receive the content distributed by the network. The thirdstep 1032 comprises initialisation of the communication record. This iscrucial in order for the peer to be able to perform autonomousdecision-making, as the communication record preferably comprises atleast the identity representations of other connected peers. Theinitialisation of the communication record may be done by severalmethods. The simplest method comprises the server transmitting its copyof the communication record directly to the recently connected peer.Other methods may however be more advantageous in certain embodiments.When the peer-to-peer network is huge and comprises numerous peers, thecommunication record may become relatively large and possibly impossiblefor the server to transmit directly to every new connecting peer. Insuch a system the server may transmit only a fraction of thecommunication record comprising, e.g., the identity representations of100 other peers. The newly connected peer may then obtain the rest ofthe communication record from these 100 peers, whereby thebandwidth-heavy task of transmitting a huge database is distributedamong several peers. As soon as the newly connected peer has receivedenough of the communication record to participate in the regularinformation and update distribution, step 1033, it is inherently able tomaintain its communication record onwards.

The invention claimed is:
 1. A method comprising providing a pluralityof peers on a peer-to-peer network; providing at least one peer-to-peernetwork server for the peer-to-peer network; providing a communicationrecord maintained by a specific peer of the plurality of peers, wherein:the communication record defines a plurality of candidate peers that area subset of said plurality of peers that have a specific data item, thecommunication record is provided prior to a request to download saidspecific data item, the communication record is one of a plurality ofdistributed communication records, each of the plurality ofcommunication records being maintained at a different peer of theplurality of peers, the communication records providing information onwhich to facilitate autonomous decision making at each of the pluralityof peers, and the at least one peer-to-peer network server controllingupdates of the communication record to the plurality of peers;downloading, by the specific peer of the plurality of peers, thespecific data item from at least one candidate peer of the plurality ofcandidate peers according to an individual routine of the specific peerand based on the communication record, said individual routine providinga first decision making process for the specific peer on how to downloadsaid specific data item; receiving, by said specific peer, at least onecommunication record update from a peer-to-peer network server of the atleast one peer-to-peer network server via said candidate peers on aruntime basis according to the individual routine, wherein saidindividual routine provides a second decision making process for thespecific peer on how to download said at least one communication recordupdate; and updating the communication record based, at least in part,on the at least one communication record update.
 2. The method ofmaintaining a communication record according to claim 1, wherein saidreceiving the at least one communication record update via the candidatepeers is performed according to said individual routine of the peer. 3.The method of maintaining a communication record according to claim 1,wherein said individual routine comprises guidelines for deciding, on aruntime basis, which at least one of said candidate peers to downloadsaid information representative data from.
 4. The method of maintaininga communication record according to claim 1, wherein said individualroutine comprises guidelines for deciding, on a runtime basis, a numberof said candidate peers to download said information representative datafrom.
 5. The method of maintaining a communication record according toclaim 1, wherein the peer downloads said information representative datafrom a plurality of said candidate peers substantially simultaneously.6. The method of maintaining a communication record according to claim1, wherein the peer-to-peer network server transmits said informationrepresentative data to at least one of said plurality of peers of thepeer-to-peer network.
 7. The method of maintaining a communicationrecord according to claim 1, wherein a plurality of said peers areassociated with a unique identity representation.
 8. The method ofmaintaining a communication record according to claim 7, wherein saidcommunication record defines said candidate peers by said associatedidentity representation.
 9. The method of maintaining a communicationrecord according to claim 1, wherein the communication record isinitialized by the peer-to-peer network server.
 10. The method ofmaintaining a communication record according to claim 1, wherein saidinformation representative data comprises a video or audio stream. 11.The method of maintaining a communication record according to claim 1,wherein the peer-to-peer network comprises a streaming network.
 12. Themethod of maintaining a communication record according to claim 1,wherein the peer-to-peer network comprises a grid-based peer-to-peernetwork.
 13. The method of maintaining a communication record accordingto claim 1, wherein the communication records of a plurality of thepeers of the peer-to-peer network are substantially identical.
 14. Themethod of maintaining a communication record according to claim 1,wherein said communication record defines a subset of said plurality ofpeers of the peer-to-peer network to which information representativedata may be uploaded.
 15. The method of maintaining a communicationrecord according to claim 1, wherein at least two of said plurality ofpeers of the peer-to-peer network downloads said informationrepresentative data substantially simultaneously.
 16. The method ofmaintaining a communication record according to claim 1, wherein saidinformation representative data is arranged to comprise saidcommunication record update.
 17. The method of maintaining acommunication record according to claim 1, wherein said communicationrecord update is associated and transmitted with said informationrepresentative data.
 18. The method of maintaining a communicationrecord according to claim 1, wherein accumulating said communicationrecord updates on the average accounts for less than 20% of the size ofaccumulated said information representative data (S).
 19. The method ofmaintaining a communication record according to claim 1, wherein saidcommunication record update comprises a completed version of thecommunication record.
 20. The method of maintaining a communicationrecord according to claim 1, wherein the communication record definesfurther properties or features of the peers it defines.
 21. The methodof maintaining a communication record according to claim 1, wherein thecommunication record defines properties or features of said informationrepresentative data.
 22. The method of maintaining a communicationrecord according to claim 1, wherein said information representativedata is encoded and distributed according to a loss resiliency method.23. The method of maintaining a communication record according to claim1, wherein said communication record update is distributed by a methodcorresponding to the method applied for distributing informationrepresentative data.
 24. The method of maintaining a communicationrecord according to claim 1, wherein said information representativedata may comprise multiple information instances.
 25. The method ofmaintaining a communication record according to claim 24, wherein thecommunication record defines said information instances of saidinformation representative data.
 26. The method of maintaining acommunication record according to claim 1, wherein said candidate peersare not equally performing.
 27. The method of maintaining acommunication record according to claim 1, wherein said individualroutine comprises trial and error algorithms.
 28. A peer comprising aspecific peer of a plurality of peers on a peer-to-peer network wheresaid peer-to-peer network comprises at least one peer-to-peer networkserver, wherein the specific peer of said plurality of peers comprises acommunication record and is configured to maintain the communicationrecord defining a plurality of candidate peers that are a subset of saidplurality of peers that have a specific data item, the communicationrecord is one of a plurality of distributed communication records, eachof the plurality of communication records being comprised at a differentpeer of the plurality of peers, the communication records comprisinginformation on which to facilitate autonomous decision making at each ofthe plurality of peers, and the at least one peer-to-peer network serveris configured to control updates of the communication record to theplurality of peers; said specific peer of the plurality of peers beingconfigured to download the specific data item from said at least onecandidate peers of the plurality of candidate peers according to anindividual routine of the specific peer and based on the communicationrecord, said individual routine providing a first decision makingprocess for the specific peer on how to download said specific dataitem; said specific peer being configured to receive at least onecommunication record update from a peer-to-peer network server of the atleast one peer-to-peer network server via said candidate peers on aruntime basis according to the individual routine, wherein saidindividual routine provides a second decision making process for thespecific peer on how to download said at least one communication recordupdate; and said specific peer being configured to update thecommunication record based, at least in part, on the at least onecommunication record.
 29. The communicating apparatus according to claim28, wherein said peer performs said maintaining said communicationrecord at least partly on the basis of said communication recordupdates.
 30. The communicating apparatus according to claim 28, whereinsaid individual routine comprises guidelines for deciding, on a runtimebasis, which at least one of said candidate peers to download saidinformation representative data from.
 31. The communicating apparatusaccording to claim 28, wherein said individual routine comprisesguidelines for deciding, on a runtime basis, a number of said candidatepeers to download said information representative data from.
 32. Thecommunicating apparatus according to claim 28, wherein said peerdownloads said information representative data from a plurality of saidcandidate peers substantially simultaneously.
 33. The communicatingapparatus according to claim 28, wherein said peer-to-peer networkserver transmits said information representative data to at least one ofsaid plurality of peers of said peer-to-peer network.
 34. Thecommunicating apparatus according to claim 28, wherein a plurality ofsaid peers are associated with a unique identity representation.
 35. Thecommunicating apparatus according to claim 28, wherein saidcommunication record defines said candidate peers by said associatedidentity representation.
 36. The communicating apparatus according toclaim 28, wherein said communication record is initialized by saidpeer-to-peer network server.
 37. The communicating apparatus accordingto claim 28, wherein said information representative data comprises avideo or audio stream.
 38. The communicating apparatus according toclaim 28, wherein said peer-to-peer network comprises a streamingnetwork.
 39. The communicating apparatus according to claim 28, whereinsaid peer-to-peer network comprises a grid-based peer-to-peer network.40. The communicating apparatus according to claim 28, wherein saidcommunication records of a plurality of peers of said peer-to-peernetwork are substantially identical.
 41. The communicating apparatusaccording to claim 28, wherein said communication record defines asubset of said plurality of peers of said peer-to-peer network to whichinformation representative data may be uploaded.
 42. The communicatingapparatus according to claim 28, wherein at least two of said pluralityof peers of said peer-to-peer network downloads said informationrepresentative data substantially simultaneously.
 43. The communicatingapparatus according to claim 28, wherein said information representativedata is arranged to comprise said communication record update.
 44. Thecommunicating apparatus according to claim 28, wherein saidcommunication record update is associated and transmitted with saidinformation representative data.
 45. The communicating apparatusaccording to claim 28, wherein accumulated said communication recordupdates on the average accounts for less than 20% of the size ofaccumulated said information representative data (S).
 46. Thecommunicating apparatus according to claim 28, wherein saidcommunication record update comprises a complete communication record.47. The communicating apparatus according to claim 28, wherein saidcommunication record defines further properties or features of the peersit defines.
 48. The communicating apparatus according to claim 28,wherein said communication record defines properties or features of saidinformation representative data.
 49. The communicating apparatusaccording to claim 28, wherein said information representative data isencoded and distributed according to a loss resiliency method.
 50. Thecommunicating apparatus according to claim 28, wherein saidcommunication record update is distributed by a method corresponding tothe method applied for distributing information representative data. 51.The communicating apparatus according to claim 28, wherein saidinformation representative data may comprise multiple informationinstances.
 52. The communicating apparatus according to claim 51,wherein said communication record defines said information instances ofsaid information representative data.
 53. The communicating apparatusaccording to claim 28, wherein said candidate peers are not equallyperforming.
 54. The communicating apparatus according to claim 28,wherein said individual routine comprises trial and error algorithms.55. A peer-to-peer network comprising: a peer-to-peer network server anda plurality of peers; wherein a specific peer of said plurality of peerscomprises a communication record and is configured to maintain thecommunication record defining a plurality of candidate peers that are asubset of said plurality of peers that have a specific data item, thecommunication record is one of a plurality of distributed communicationrecords, each of the plurality of communication records being comprisedat a different peer of the plurality of peers, the communication recordscomprising information on which to facilitate autonomous decision makingat each of the plurality of peers, and the at least one peer-to-peernetwork server is configured to control updates of the communicationrecord to the plurality of peers; said specific peer of the plurality ofpeers being configured to download the specific data item from said atleast one candidate peer of the plurality of candidate peers accordingto an individual routine of the specific peer and based on thecommunication record, said individual routine providing a first decisionmaking process for the specific peer on how to download said specificdata item; said specific peer being configured to receive at least onecommunication record update from a peer-to-peer network server of the atleast one peer-to-peer network server via said candidate peers on aruntime basis according to the individual routine, wherein saidindividual routine provides a second decision making process for thespecific peer on how to download said at least one communication recordupdate; and said specific peer being configured to update thecommunication record based, at least in part, on the at least onecommunication record.